<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>InitPHP框架 - A PHP Framework - 视图层View API</title>
<link href="static/common.css" type="text/css" rel="stylesheet" />
<meta name="keywords" content="php框架，国产php框架, initphp框架，MVC，分层体系" />
<meta name="description" content="initphp框架是一款国产php框架。initphp框架主要基于MVC模式，具备代码清晰，操作简单，功能齐全，开发快速，高效安全等特点，是您选择php框架的首选。" />
</head>
<body>
<div class="header">
  <div class="header_nav">InitPHP (A PHP Framework) 用户手册</div>
  <div class="header_div">
    <div class="header_title">第6章 6.4 视图层View API</div>
    <div class="header_right"><a href="6_3.htm">上一页</a> <a href="6_5_1.htm">下一页</a> </div>
  </div>
</div>
<div class="title">目录</div>
<ul style="list-style:none;">
  <li><a href="#$this->view->assign">$this->view->assign</a></li>
  <li><a href="#$this->view->display">$this->view->display</a></li>
  <li><a href="#$this->view->get_tpl">$this->view->get_tpl</a></li>
  <li><a href="#$this->view->remove_tpl">$this->view->remove_tpl</a></li>
  <li><a href="#$this->view->set_tpl">$this->view->set_tpl</a></li>
</ul>
<div class="nav"></div>
<div class="title">1. $this->view->assign($key, $value) 模板-设置模板变量<a name="$this->view->assign"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p>模板赋值函数，可以直接赋值变量，数组或者对象。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
  <tr>
    <td>$key</td>
    <td>String </td>
    <td>是</td>
    <td>KEY值-模板中的变量名称</td>
  </tr>
  <tr>
    <td>$value</td>
    <td>String </td>
    <td>否</td>
    <td>模板变量值</td>
  </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
class indexController extends Controller {
	
	public $initphp_list = array('test'); 
	
	public function run() {
		$username = 'initphp';
		$this->view->assign('username', $username); //模板赋值
		$this->view->set_tpl('header'); //设置模板
		$this->view->set_tpl('test/test'); //设置模板
		$this->view->remove_tpl('header'); //移除模板
		$this->view->display(); //模板显示
	}
	
	public function test() {
		echo 'Hello World';
	}
	
	/**
	 * @return testService
	 */
	private function getTestService() {
		return InitPHP::getService('test','test');
	}

}
</pre>
<div class="nav"></div>
<div class="title">2. $this->view->display($template = '') 模板-显示视图<a name="$this->view->display"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p> 模板-显示视图。在Controller中需要显示模板，就必须调用该函数。模板解析可以设置 $InitPHP_conf['isviewfilter'] 值,对变量进行过滤。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
  <tr>
    <td>$template</td>
    <td>String </td>
    <td>否</td>
    <td>可以直接添加模板并且输出，例如$this->view->display('user_add')</td>
  </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$username = 'initphp';
	$this->view->assign('username', $username); //模板赋值
	$this->view->set_tpl('header'); //设置模板
	$this->view->set_tpl('test/test'); //设置模板
	$this->view->remove_tpl('header'); //移除模板
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>
<div class="title">3. $this->view->get_tpl() 模板-获取模板数组<a name="$this->view->get_tpl"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p>可以直接获取到您已经设置的模板信息，数组形式返回。在Controller中使用</p>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$username = 'initphp';
	$this->view->assign('username', $username); //模板赋值
	$this->view->set_tpl('header'); //设置模板
	$this->view->set_tpl('test/test'); //设置模板
	$this->view->remove_tpl('header'); //移除模板
	print_r($this->view->get_tpl()); //打印模板
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>
<div class="title">4. $this->view->remove_tpl($remove_tpl) 模板-移除模板<a name="$this->view->remove_tpl"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p>如果在控制器的基类中已经导入头部和脚步模板，应用中需要替换头部模板。移除模板需要在display() 模板显示前使用。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
  <tr>
    <td>$template_name</td>
    <td>String </td>
    <td>是</td>
    <td>模板名称，不需要带.htm后缀，如果有文件夹，例如：test/test 或者 header</td>
  </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$username = 'initphp';
	$this->view->assign('username', $username); //模板赋值
	$this->view->set_tpl('header'); //设置模板
	$this->view->set_tpl('test/test'); //设置模板
	$this->view->remove_tpl('header'); //移除模板
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>
<div class="title">5. $this->view->set_tpl($template_name, $type = '') 模板-设置模板 设置HTML模板<a name="$this->view->set_tpl"></a></div>
<div class="title">
  <h3>接口描述：</h3>
</div>
<p>设置模板名称，不需要带.htm后缀，如果有文件夹，例如：test/test 或者 header。$type提供了头部和脚步模板的功能，如果为F，则模板输出顺序为最先，L为最后，为空则默认。在Controller中使用</p>
<div class="title">
  <h3>参数：</h3>
</div>
<table>
  <tr>
    <th style="width:20%;"> 参数 </th>
    <th style="width:20%;"> 类型 </th>
    <th style="width:10%;"> 是否必须 </th>
    <th style="width:50%;"> 描述 </th>
  </tr>
  <tr>
    <td>$template_name</td>
    <td>String </td>
    <td>是</td>
    <td>模板名称，不需要带.htm后缀，如果有文件夹，例如：test/test 或者 header</td>
  </tr>
  <tr>
    <td>$type</td>
    <td>String </td>
    <td>否</td>
    <td>$type提供了头部和脚步模板的功能，如果为F，则模板输出顺序为最先，L为最后，为空则默认</td>
  </tr>
</table>
<div class="title">
  <h3>使用：</h3>
</div>
<pre id="PHP" class="prettyprint">
public function run() {
	$username = 'initphp';
	$this->view->assign('username', $username); //模板赋值
	$this->view->set_tpl('header'); //设置模板
	$this->view->set_tpl('test/test'); //设置模板
	$this->view->remove_tpl('header'); //移除模板
	$this->view->display(); //模板显示
}
</pre>
<div class="nav"></div>
<div class="footer">版权所有：<a href="">http://initphp.com</a> InitPHP (A PHP Framework) By @Aliyun_zhuli</div>
<script src="static/jquery.js" type="text/javascript"></script>
<link href="static/prettify/prettify.css" rel="stylesheet" type="text/css">
<script src="static/prettify/prettify.js" type="text/javascript"></script>
<script type="text/javascript" src="static/comm.js"></script>
</body>
</html>
